The invention relates generally to processing systems, and more particularly to a method and apparatus for configuring multiple devices in a computer system.
Computing systems such as personal computers include operating systems that, among other things, allow users to configure the computing system according to their particular needs. For example, the operating system may allow the user to configure the display of the computing system such that the resolution, color depth, or similar parameters of the display can be set as the user desires. As computing systems continue to evolve, the advantages to allowing multiple devices to cooperate in processing operations becomes increasingly apparent. Multiple devices performing tasks in a cooperative manner (parallel processing) can increase the speed with which the processing can be performed, and therefore add to the complexity of the processing operations that can be performed within a particular time period.
Operating systems typically poll the configuration space of a computing system upon start up in order to determine the devices that are included in the processing system. For example, the operating system may poll the configuration space and determine that a video graphics processing card that includes a graphics processor is present within the computing system. In the case where multiple devices are included on a peripheral circuit, an expansion card, or within a similar portion of the processing system, the multiple devices will each correspond to a different portion of the configuration space within the processing system. This allows each of the devices to be treated individually over a shared bus structure. Configuring the computing system such that different devices exist at different portions of the configuration space is well known in the art.
Problems can arise when multiple devices that perform cooperative processing operations exist within the processing system. This is because the operating system will recognize each of the devices based on their identification when the configuration space is polled at start up. In other words, when the operating system starts up and polls the configuration space, each of the devices will respond, thus indicating its presence. Because the operating system recognizes each of the devices, users will be allowed to configure each of the devices individually. Individual configuration of multiple devices that perform cooperative processing operations can cause problems when the cooperative processing operations involve specific parameters that require uniform settings between the multiple devices. For example, if two graphics devices are included in a graphics processing card, the user could potentially configure one device to a particular resolution and the other device to a different resolution. If this scenario were to occur, the processing operations performed by the devices would differ significantly, thus corrupting the resulting display.
Therefore, a need exists for a method and apparatus that allows multiple devices to be configured in a uniform manner that ensures that conflicts do not arise in cooperative processing operations.